package com.cy.store.service;

import com.cy.store.entity.Address;
import com.cy.store.vo.CartVO;

import java.util.List;

/**
 * @author Luo Sheng
 * @school YiBin university
 * @create 2022-12-05 12:38
 */
/*
* 收货地址业务层接口
*/
public interface IAddressService {
    /**
     * 插入用户地址
     * @param uid 用户id
     * @param username 用户名
     * @param address 用户添加的地址信息
     */
    void addNewAddress(Integer uid, String username, Address address);

    /**
     * 根据用户Id获取用户地址信息
     * @param uid 用户id
     * @return 用户地址信息
     */
    List<Address> getByUid(Integer uid);

    /**
     * 根据aid修改某个用户的默认收货地址
     * @param aid 收货地址id
     * @param uid 用户的id
     * @param username 用户名
     */
    void setDefault(Integer aid, Integer uid, String username);

    /**
     * 根据aid删除地址
     * @param aid 地址id
     * @param uid 用户id
     * @param username 用户名
     */
    void deleteByAid(Integer aid, Integer uid, String username);

    /**
     * 根据aid获取地址信息
     * @param aid 地址id
     * @return 地址信息
     */
    Address getByAid(Integer aid);

    /**
     * 根据aid修改用户地址
     * @param address 地址信息
     * @param uid 用户id
     * @param username 用户名
     */
    void updateByAid(Address address, Integer uid, String username);

    /**
     * 根据收货地址数据的id，查询收货地址详情
     * @param aid 收货地址id
     * @param uid 归属的用户id
     * @return 匹配的收货地址详情
     */
    Address getByAid(Integer aid, Integer uid);


}
